프로그램 입출력
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
프로그램 입출력(PIO)은 다양한 전송 속도를 갖는 여러 모드로 그룹화된 인터페이스로, 데이터 전송을 위해 CPU의 직접적인 제어를 사용한다. ATA 표준에서 PIO 모드는 모드 0부터 모드 6까지 있으며, 각 모드마다 최대 전송 속도와 최소 사이클 시간이 다르다. PIO 모드는 초기에는 널리 사용되었지만, CPU 오버헤드가 크다는 단점으로 인해 DMA 인터페이스가 개발되었다. PIO 모드 5와 6은 컴팩트 플래시 규격 2.0에서 정의되었으며, 임베디드 시스템이나 FPGA와 같이 고속 전송이 필요하지 않은 경우에 유용하게 사용된다. 일부 장치는 PIO 타이밍과 호환되지 않으며, GL819 칩을 사용하는 샌디스크 SDDR-89 12-in-1 카드 리더의 경우 ATA 및 CF 규격과 다른 타이밍을 보인다.
더 읽어볼만한 페이지
프로그램 입출력 | |
---|---|
프로그램 입출력 | |
유형 | 프로그램 입출력 인터럽트 구동 입출력 직접 메모리 접근 |
프로그램 입출력 (PIO) | |
설명 | CPU가 소프트웨어를 통해 주변 장치와 직접 데이터를 교환하는 입출력 방식 |
작동 방식 | CPU는 주변 장치의 상태 레지스터를 주기적으로 폴링하여 데이터 전송 준비 여부를 확인 데이터 전송 준비가 완료되면, CPU는 입출력 명령어를 사용하여 데이터를 주변 장치와 교환 |
장점 | 간단한 하드웨어 구조 |
단점 | CPU가 데이터 전송을 기다리는 동안 다른 작업을 수행할 수 없어 효율성이 떨어짐 데이터 전송 속도가 CPU 속도에 의해 제한됨 |
인터럽트 구동 입출력 | |
설명 | 주변 장치가 데이터 전송 준비가 완료되면 CPU에게 인터럽트를 요청하여 데이터를 교환하는 방식 |
작동 방식 | CPU는 다른 작업을 수행하는 동안 주변 장치의 인터럽트 요청을 감지 인터럽트가 발생하면, CPU는 현재 작업을 중단하고 인터럽트 서비스 루틴(ISR)을 실행하여 데이터를 주변 장치와 교환 |
장점 | CPU가 데이터 전송을 기다리는 동안 다른 작업을 수행할 수 있어 효율성이 향상 |
단점 | 인터럽트 처리 오버헤드가 발생 하드웨어 구조가 복잡 |
직접 메모리 접근 (DMA) | |
설명 | 주변 장치가 CPU의 개입 없이 직접 메모리에 데이터를 읽고 쓰는 방식 |
작동 방식 | CPU는 DMA 컨트롤러에게 데이터 전송 시작 주소, 전송 바이트 수 등의 정보를 제공 DMA 컨트롤러는 CPU의 개입 없이 직접 메모리와 주변 장치 간에 데이터를 전송 |
장점 | CPU의 부담을 줄여 시스템 전체의 효율성을 향상 |
단점 | DMA 컨트롤러와 같은 추가적인 하드웨어 필요 메모리 접근 충돌 문제 발생 가능 |
2. ATA 표준에서의 PIO 모드
PIO 인터페이스는 서로 다른 전송 속도에 해당하는 여러 가지 모드로 그룹화된다. 각 모드 간의 전기 신호는 유사하지만, 더 높은 전송 속도를 위해 트랜잭션 간의 주기 시간이 감소한다. 모든 ATA 장치는 가장 느린 모드인 모드 0을 지원하며, CPU는 ATA 드라이브의 정보 레지스터에 접근(모드 0 사용)하여 장치의 최대 전송 속도를 결정하고 ATA 컨트롤러를 구성할 수 있다.
모드 | 최대 전송 속도 (MB/초) | 최소 순환 시간 | 규격 정의 표준 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
모드 0 | 600 ns | ATA-1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
모드 1 | 383 ns | ATA-1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
모드 2 | 240 ns | ATA-1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
모드 3 | 180 ns | ATA-2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
모드 4 | 120 ns | ATA-2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
모드 5 | {{cvt|} | }
모드 | 최대 전송 속도 (MB/s) | 최소 사이클 시간 | 사양 정의 표준 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
모드 0 | 600 ns | ATA-1 | |||||||||||||||||||||||||||||
모드 1 | 383 ns | ATA-1 | |||||||||||||||||||||||||||||
모드 2 | 240 ns | ATA-1 | |||||||||||||||||||||||||||||
모드 3 | 180 ns | ATA-2 | |||||||||||||||||||||||||||||
모드 4 | 120 ns | ATA-2 | |||||||||||||||||||||||||||||
모드 5 | {{cvt|} | }
모드 | 최대 전송 속도 (MB/초) | 최소 순환 시간 | 규격 정의 표준 |
---|---|---|---|
모드 5 | 20 | 100ns | 콤팩트플래시 2.0 |
모드 6 | 25 | 80ns | 콤팩트플래시 2.0 |
모든 장치가 PIO 타이밍과 호환되는 것은 아니다. 제네시스 로직사의 GL819 칩을 사용하는 샌디스크 SDDR-89 12-in-1 카드 리더 장치를 예로 들 수 있는데, 이 칩은 대부분의 PIO 모드와 조금 다르다.[1]
[1]
서적
Computer Architecture and Organization
McGraw-Hill International Book Company
1978
PIO 모드 5[4]는 초당 22 MB의 동작 속도로 제안되었으나, 당시 CPU 성능 문제와 DMA 표준의 등장으로 하드 디스크에는 구현되지 않았다. 이 모드를 지원하는 하드 드라이브는 제조된 적이 없지만, 일부 메인보드 제조업체들은 바이오스를 통해 예비 지원을 제공했다. PIO 모드 5는 CF-to-IDE 어댑터를 통해 IDE에 콤팩트플래시 카드를 장착하여 사용할 수 있다.
PIO 모드 5는 22MB/s의 속도로 작동하도록 제안되었지만,[3] 당시 CPU가 제안된 PIO 5 타이밍에서 하드 디스크를 기다리느라 성능이 저하될 것이고, 결국 DMA 표준이 이를 대체했기 때문에 하드 디스크에서는 구현되지 않았다. 이 모드를 지원하도록 제작된 하드 디스크 드라이브는 없었지만, 일부 마더보드 제조업체는 선제적으로 이에 대한 BIOS 지원을 제공했다. PIO 모드 5는 CF-to-ATA 어댑터를 통해 ATA에 연결된 컴팩트 플래시 카드와 함께 사용할 수 있다.
3. 장치 호환
PIO 모드 1 2 3 4 6 GL819 타이밍 399ns 249ns 183ns 133ns 83ns ATA 및 CF 규격 타이밍 383ns 240ns 180ns 120ns 80ns
참조
[2]
서적
Computer Organization and Architecture
Pearson
2012
[3]
웹사이트
Proposed 22 MByte/Sec ATA Timing Extension for ATA-3
https://www.t10.org/[...]
Technical Committee T10 (X3T10)
1995-01-10
[4]
문서
Proposed 22 MByte/Sec ATA Timing Extension For ATA-3
ftp://ftp.t10.org/t1[...]
1995-01
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com